package com.youzan.open.sdk.gen.v3_0_0.model;

import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.Maps;
import com.google.common.collect.Multimap;
import com.youzan.open.sdk.model.APIParams;
import com.youzan.open.sdk.model.ByteWrapper;
import com.youzan.open.sdk.model.FileParams;
import java.util.List;
import java.util.Map;
import java.util.Date;

public class YouzanPaySettleParams implements APIParams, FileParams  {

    /**
     * 收单号:调用支付接口返回的收单号acquireNo,长度为32
     */
    private String acquireNo;
    /**
     * 订单对应的交易金额,必须大于0
     */
    private Long amount;
    /**
     * 币种，如人民币:CNY,长度为8
     */
    private String currencyCode;
    /**
     * 订单号，业务接入系统的订单号，长度32
     */
    private String outBizNo;

    public void setAcquireNo(String acquireNo) {
        this.acquireNo = acquireNo;
    }

    public String getAcquireNo() {
        return this.acquireNo;
    }

    public void setAmount(Long amount) {
        this.amount = amount;
    }

    public Long getAmount() {
        return this.amount;
    }

    public void setCurrencyCode(String currencyCode) {
        this.currencyCode = currencyCode;
    }

    public String getCurrencyCode() {
        return this.currencyCode;
    }

    public void setOutBizNo(String outBizNo) {
        this.outBizNo = outBizNo;
    }

    public String getOutBizNo() {
        return this.outBizNo;
    }


    public Map<String, Object> toParams() {
        Map<String, Object> params = Maps.newHashMap();
        if (acquireNo != null) {
            params.put("acquire_no", acquireNo);
        }
        if (amount != null) {
            params.put("amount", amount);
        }
        if (currencyCode != null) {
            params.put("currency_code", currencyCode);
        }
        if (outBizNo != null) {
            params.put("out_biz_no", outBizNo);
        }
        return params;
    }

    public Multimap<String, ByteWrapper> toFileParams() {
        Multimap<String, ByteWrapper> params = ArrayListMultimap.create();

            return params;
    }


}